package java_thinking.unit_14._14_9;

import java_thinking.unit_14._14_9.DemoElement.A;
import java_thinking.unit_14._14_9.DemoElement.SecretMaker;

import java.lang.reflect.Method;

/**
 * @Description : 创建一个包含private、protected和包访问权限方法的类，编写代码在该类所处的包的
 * 外部调用访问这些方法；
 * @author: cww
 * @DateTime: 2019-03-31 21:24
 */

public class E25_HiddenMethodCalls {
    public static void main(String[] args) throws Exception {
        A a = SecretMaker.makeSecret();
        System.out.println("a is of class type: " + a.getClass().getName());
        for(Method m : a.getClass().getDeclaredMethods()) {
            m.setAccessible(true);
            m.invoke(a);
        }
    }
}
